package edu.pe.cayetano.model.bo;

import java.util.ArrayList;

import org.apache.commons.beanutils.DynaBean;

import ws.synopsis.frmwrk.common.BResult;
import edu.pe.cayetano.dao.AlumnoDAO;
import edu.pe.cayetano.framework.BusinessException;
import edu.pe.cayetano.model.to.AlumnoTO;
import edu.pe.cayetano.seccd.constantes.ConstantesSECCD;

public class AlumnoBO extends BaseBO{

	/**
	 * Metodo que retorna el listado de alumnos por un ciclo 
	 * */
	public BResult getAlumnosxCiclo(DynaBean dyna) throws BusinessException{
		
		BResult 				ret						= new BResult();
		ArrayList<AlumnoTO> 	listadoOperadores	 	= new ArrayList<AlumnoTO>();
		
		try{
			conectar();
			AlumnoDAO alumnoDAO = new AlumnoDAO(conn);
			listadoOperadores = alumnoDAO.getAlumnosxCiclo((String)dyna.get("cboCiclo"));
			ret.setObject(listadoOperadores);
		}catch(Exception e){
			ret.setCode(ConstantesSECCD.ERROR_RET);
			ret.setMessage("[SECCD][AlumnoBO][getAlumnosxCiclo]:error generado por:"+e.getMessage());
			ret.setException(e);
		}finally{
			try{
				desconectar();
			}catch(Exception e){
			}
		}
		return ret;
	}
	
	/**
	 * Metodo que retorna el listado de alumnos por un ciclo 
	 * */
	public BResult getAlumnosxCiclo(int cboCiclo) throws BusinessException{
		
		BResult 				ret						= new BResult();
		ArrayList<AlumnoTO> 	listadoOperadores	 	= new ArrayList<AlumnoTO>();
		
		try{
			conectar();
			AlumnoDAO alumnoDAO = new AlumnoDAO(conn);
			listadoOperadores = alumnoDAO.getAlumnosxCiclo(String.valueOf(cboCiclo));
			ret.setObject(listadoOperadores);
		}catch(Exception e){
			ret.setCode(ConstantesSECCD.ERROR_RET);
			ret.setMessage("[SECCD][AlumnoBO][getAlumnosxCiclo]:error generado por:"+e.getMessage());
			ret.setException(e);
		}finally{
			try{
				desconectar();
			}catch(Exception e){
			}
		}
		return ret;
	}
	
	/**
	 * Retorna los datos de un alumno en funcion a su codigo de usuario 
	 * */
	public BResult getAlumno(int codigoUsuario) throws BusinessException{
		
		BResult 		ret				= new BResult();
		AlumnoTO		alumnoTO	 	= new AlumnoTO();
		
		try{
			conectar();
			AlumnoDAO alumnoDAO = new AlumnoDAO(conn);
			alumnoTO = alumnoDAO.getAlumno(codigoUsuario);
			ret.setObject(alumnoTO);
		}catch(Exception e){
			ret.setCode(ConstantesSECCD.ERROR_RET);
			ret.setMessage("[SECCD][AlumnoBO][getAlumno]:error generado por:"+e.getMessage());
			ret.setException(e);
		}finally{
			try{
				desconectar();
			}catch(Exception e){
			}
		}
		return ret;
	}
}
